package controller;

import java.util.ArrayList;
import java.util.List;

import model.entidades.Consulta;
import model.entidades.Paciente;
import model.entidades.Usuario;
import model.repositorio.ConsultaDAO;

public class ControladorConsulta {

	private ConsultaDAO consultaDAO;

	public ControladorConsulta() {
		consultaDAO =  new ConsultaDAO();
	}

	public void salvar(Consulta consulta) {
		consultaDAO.salvar(consulta);
	}

	public Consulta ultimaConsulta(Usuario profissional, Paciente paciente) {

		List<Consulta> lista = consultaDAO.pesquisaPorParametroDESC(profissional, paciente);
		if (lista != null) {
			return lista.get(0);
		} else {
			return null;
		}

	}

	public List<Consulta> historicoConsultas(Usuario profissional, Paciente paciente) {

		return consultaDAO.pesquisaPorParametroDESC(profissional, paciente);

	}

	public List<Consulta> historicoConsultasRelatorio(Usuario profissional, Paciente paciente) {

		return consultaDAO.pesquisaPorParametroASC(profissional, paciente);

	}
	
	public boolean existeConsultas(Usuario profissional, Paciente paciente) {
		return consultaDAO.pesquisaPorParametroASC(profissional, paciente) != null;
	}
	
	public List<Usuario> pesquisaConsultasProfissionalPorPaciente(Paciente paciente) {
		
		List<Usuario> lista = consultaDAO.pesquisaProfissionaisPorPaciente(paciente);
		
		if (lista != null) {
			return lista;
		} else {
			return new ArrayList<Usuario>();
		}
	}

}
